package config

import (
	"encoding/json"
	"io/ioutil"

	"github.com/sirupsen/logrus"
)

/*
***************
1.读取配置信息
****************
*/
type Cfg struct {
	Dir        string
	Host       string
	ExpireDate string
	FtpConf    string
	DataBase   DataBase
}

// 数据库信息
type DataBase struct {
	Username    string //用户名
	Password    string //密码
	HostDB      string //主机名
	DBName      string //数据库名
	TableUser   string //用户表名称
	UserInfoTbl string //用户信息表
	MainTbl     string //主表信息，主表信息主要记录不重复的数据
	SubTbl      string //附表信息，包含了告警数据的所有信息
}

type JsonStruct struct{}

func NewJsonStruct() *JsonStruct {
	return &JsonStruct{}
}
func (jst *JsonStruct) Load(filename string, v interface{}) {
	//ReadFile 函数会读取文件的全部内容，并将结果以 []byte类型返回
	data, err := ioutil.ReadFile(filename)
	if err != nil {
		logrus.Info("ReadFile Failed")
		return
	}
	err = json.Unmarshal(data, v)
	if err != nil {
		return
	}
}

// 获取配置文件相关信息
func (jst *JsonStruct) LoadCfg() Cfg {
	JsonParse := NewJsonStruct()
	v := Cfg{}
	JsonParse.Load("d:/Cfg/json.cfg", &v)
	return v
}
